'\" te
.\"  Copyright (c) 2007, Sun Microsystems, Inc.  All Rights Reserved
.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License").  You may not use this file except in compliance with the License.
.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.  See the License for the specific language governing permissions and limitations under the License.
.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE.  If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
.TH SIP_ADD_BRANCHID_TO_VIA 3SIP "Jan 25, 2007"
.SH NAME
sip_add_branchid_to_via \- add a branch parameter to the topmost VIA header in
the SIP message
.SH SYNOPSIS
.LP
.nf
\fBcc\fR [ \fIflag\fR ... ] \fIfile\fR ... \fB-lsip\fR [ \fIlibrary\fR ... ]
#include <sip.h>

\fBint\fR \fIsip_add_branchid_to_via\fR(\fBsip_msg_t\fR \fIsip_msg\fR, \fBchar *\fR\fIbranchid\fR);
.fi

.SH DESCRIPTION
.sp
.LP
The \fBsip_add_branchid_to_via()\fR function adds a branch \fIparam\fR to the
topmost \fBVIA\fR header in the \fBSIP\fR message \fIsip_msg\fR. Note that a
new header is created as a result of adding the branch parameter and the old
header is marked deleted. Applications with multiple threads working on the
same \fBVIA\fR header need to take note of this.
.SH RETURN VALUES
.sp
.LP
These functions return \fB0\fR on success and the appropriate error value on
failure.
.SH ERRORS
.sp
.LP
On failure, functions that return an error value may return one of the
following:
.sp
.ne 2
.na
\fB\fBEINVAL\fR\fR
.ad
.RS 10n
Mandatory parameters are not provided or are NULL.
.sp
For \fBsip_add_branchid_to_via()\fR, the topmost \fBVIA\fR header already has a
branch \fIparam\fR or the \fBSIP\fR message does not have a \fBVIA\fR header.
.RE

.sp
.ne 2
.na
\fB\fBEPERM\fR\fR
.ad
.RS 10n
The message cannot be modified.
.RE

.sp
.ne 2
.na
\fB\fBENOMEM\fR\fR
.ad
.RS 10n
There is an error allocating memory for creating headers/parameters.
.RE

.SH ATTRIBUTES
.sp
.LP
See \fBattributes\fR(7) for descriptions of the following attributes:
.sp

.sp
.TS
box;
c | c
l | l .
ATTRIBUTE TYPE	ATTRIBUTE VALUE
_
Interface Stability	Committed
_
MT-Level	MT-Safe
.TE

.SH SEE ALSO
.sp
.LP
.BR libsip (3LIB)
